// unordered_map experimental header
#pragma once
#ifndef _EXPERIMENTAL_UNORDERED_MAP_
#define _EXPERIMENTAL_UNORDERED_MAP_
#ifndef RC_INVOKED

#include <unordered_map>
#include <experimental/xutility>

 #pragma pack(push,_CRT_PACKING)
 #pragma warning(push,_STL_WARNING_LEVEL)
 #pragma warning(disable: _STL_DISABLED_WARNINGS)
 #pragma push_macro("new")
 #undef new

_STD_BEGIN
namespace experimental {
	inline namespace fundamentals_v2 {

	// TEMPLATE FUNCTION erase_if
template<class _Kty,
	class _Ty,
	class _Hasher,
	class _Keyeq,
	class _Alloc,
	class _Pr> inline
	void erase_if(unordered_map<_Kty, _Ty, _Hasher, _Keyeq, _Alloc>& _Cont,
		_Pr _Pred)
	{	// erase each element satisfying _Pred
	_Erase_nodes_if(_Cont, _Pred);
	}

template<class _Kty,
	class _Ty,
	class _Hasher,
	class _Keyeq,
	class _Alloc,
	class _Pr> inline
	void erase_if(unordered_multimap<_Kty, _Ty,
		_Hasher, _Keyeq, _Alloc>& _Cont, _Pr _Pred)
	{	// erase each element satisfying _Pred
	_Erase_nodes_if(_Cont, _Pred);
	}

	}	// inline namespace fundamentals_v2
}	// namespace experimental
_STD_END

 #pragma pop_macro("new")
 #pragma warning(pop)
 #pragma pack(pop)

#endif /* RC_INVOKED */
#endif /* _EXPERIMENTAL_UNORDERED_MAP_ */

/*
 * Copyright (c) by P.J. Plauger. All rights reserved.
 * Consult your license regarding permissions and restrictions.
V6.50:0009 */
